The invention disclosed herein relates generally to automated recommendation systems and, more particularly, to improved methods for generating decision trees and for allowing more flexible navigation of same by users.
Users or purchasers of complex software systems are often called upon to make difficult decisions. These include such issues as what and how many software components they need or otherwise should license, how and where to install those components, and how to configure the installed components for optimal benefit. Two typical sources of assistance in making these decisions are customer service representatives of the software vendor and documentation provided by the vendor. Customer service representatives have to be thoroughly trained to provide proper assistance and need to be available to assist when the user desires it. Documentation is often very lengthy and is necessarily non-customized for each particular user's needs. Either way, both methods are time consuming and prone to some errors or, at the very least, result in non-optimal decisions.
Wizards, templates, expert systems, and similar software tools are sometimes employed to assist users in installing or configuring a software system. These tools are developed in advance by programmers and walk users through a process by asking for certain information and reaching conclusions or taking action based on the answers users provide to these questions. The conclusions reached or actions taken are preprogrammed into the software tool, as are the sequence in which the questions are presented to users.
Such wizards are useful in walking users through a simple process. However, for more complex processes which have many permutations that are dependent upon answers provided by users, such wizards or tools are too difficult to preprogram or are otherwise inadequate. In addition, such wizards are not designed to allow users to change the conclusions based on changes to some answers already provided without redoing the entire decision making process and re-presenting all the questions from the beginning. Thus, for example, a wizard designed to assist a user in installing a complex software system on a network would ask a series of questions related to the configuration of the network upon which the software is to be installed. However, should the configuration change, a user would typically be required to re-run the entire wizard and provide all the network configuration data all over again.
In addition, such wizards or expert systems are preprogrammed by the vendors who supply the software to be installed or configured. As a result, they do not easily allow a mechanism for an administrator within an organization to customize the tool for his or her own organization.
As a result, there is a need for improved software tools that simplify a decision making process, facilitate better decision making in the event of changed circumstances, and allow greater flexibility to system administrators.